package com.pds.web.testOrganization.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pds.common.core.domain.BaseEntity;
import com.pds.web.device.entity.PdsTestOrganizationDevice;
import com.pds.web.testOrganizationInfo.domain.PdsTestOrganizationInfo;
import com.pds.web.testOrganizationInfo.domain.PdsTestOrganizationPerson;
import com.pds.web.testOrganizationInfo.domain.PdsTestOrganizationPlace;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;

@Data
@Component
public class PdsTestOrganizationVO {
    private static final long serialVersionUID = 1L;


    /** 主键ID */
//    @TableId(type = IdType.AUTO)
    private Long id;

    /** 用户ID */
    private Long userId;

    /** 部门ID */
    private Long deptId;

    /** 本年度监测活动数量 */
    private String monitorCountYear;

    /** 总人数 */
    private String totalPerson;

    /** 高级工程师 */
    private String seniorEngineer;

    /** 助理工程师 */
    private String assistantEngineer;

    /** 研究员高级工程师 */
    private String researcherSeniorEngineer;

    /** 工程师 */
    private String engineer;

    /** 技术员 */
    private String technician;

    /** 其他人员 */
    private String otherPerson;

    /** 固定资产总值 */
    private String totalFixedAssets;

    /** 自有资产值 */
    private String ownFixedAssets;

    /** 租赁资产值 */
    private String leaseFixedAssets;

    /** 其他资产值 */
    private String otherFixedAssets;

    /** 证书编号 */
    private String reportNumber;

    /** 发证机关 */
    private String licenceIssuing;

    /** 获证机构名称 */
    private String institutionName;

    /** 证书状态 */
    private String certificateStatus;

    /** 发证日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date issuanceBeginDate;

    /** 有效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date issuanceEndDate;

    /** 法律责任单位 */
    private String legalResponsibleUnit;

    /** 联系人 */
    private String contactName;

    /** 联系电话 */
    private String contactPhone;

    /** 状态 */
    private String status;

    /** 创建者 */
    private String createBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    /** 创建时间 */
    private Date createTime;

    /** 修改者 */
    private String updateBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    /** 修改时间 */
    private Date updateTime;

    /** 备注 */
    private String remark;

    /** 县区编码 */
    private String orgNo;

    /** 县区名字 */
    private String orgName;

    /** 公司名称 */
    private String companyName;

    /** 法人代表 */
    private String legalPerson;

    /** 经营范围 */
    private String businessScope;

    /** 组织机构代码 */
    private String companyCode;

    /** 统一社会信用代码 */
    private String socialCreditCode;

    /** 注册资本 */
    private String registeredCapital;

    /** 实缴资本 */
    private String paidUpCapital;

    /** 登记机关 */
    private String registrationAuthority;

    /** 登记状态 */
    private String registrationStatus;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    /** 成立日期 */
    private Date establishDate;

    /** 营业期限 */
    private String businessTerm;

    private List<PdsTestOrganizationHonor> honors;

    private List<PdsTestOrganizationInspect> inspects;

    private List<PdsTestOrganizationQualification> qualifications;

    private List<PdsTestOrganizationPerson> people;

    private List<PdsTestOrganizationPlace> places;

    private List<PdsTestOrganizationDevice> devices;
}
